package work.xiaohong.mina.service;


import work.xiaohong.mina.message.GeneralMessage;
import work.xiaohong.mina.model.Result;

/**
 * @author Kevin
 * @data 3/17/2022 2:14 PM
 * @description Service层接口
 **/
public interface SocketService {

  /**
   * 创建PLC客户端
   * @param ip 服务端ip
   * @param port 服务端端口
   * @return 返回创建结果
   */
  Result plcClientCreat(String ip, Integer port);

  /**
   * 创建PLC服务端
   * @param port 服务端端口
   * @return 返回创建结果
   */
  Result plcServerCreat(Integer port);

  /**
   * 指定PLC客户端发送消息
   * @param ip 服务端ip
   * @param port 服务端端口
   * @param message 要发送的消息
   * @return 返回创建结果
   */
  Result sendByPlcClient(String ip, Integer port, GeneralMessage message);

//  /**
//   * 指定PLC服务端发送消息
//   * @param port 服务端端口
//   * @param message 要发送的消息
//   * @return 返回创建结果
//   */
//  Result sendByPlcServer(Integer port, GeneralMessage message);

  /**
   * 关闭指定PLC客户端
   * @param ip 服务端ip
   * @param port 服务端端口
   * @return 返回创建结果
   */
  Result plcClientClose(String ip, Integer port);

//  /**
//   * 关闭指定PLC服务端
//   * @param port 服务端端口
//   * @return 返回创建结果
//   */
//  Result plcServerClose(Integer port);

}
